/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.JOptionPane;
import modelo.m_orden;
import modelo.m_producto;
import vista.v_orden;


public class c_orden implements ActionListener{
    v_orden vorden ;
    m_orden morden = new m_orden();
    m_producto mproducto = new m_producto();
    Vector<m_producto> consulta_producto = new Vector<m_producto>();
    Vector<Integer>  consulta_cantidad = new Vector<Integer>();

    public c_orden (v_orden vorden)
    {
    this.vorden = vorden;
    }

     public void actionPerformed(ActionEvent e) {
   Object boton = e.getSource();
   if (boton.equals(vorden.getButton_agregar()))
      agregar();
   else if (boton.equals(vorden.getButton_eliminar()))
      eliminar();
   else if (boton.equals(vorden.getButton_finalizar()))
      finalizar();
   }

      void agregar()
    {
     int posicion_combo = vorden.getLista_producto().getSelectedIndex();
     Vector<String> guardar_tabla = new Vector<String>();
     guardar_tabla.add(consulta_producto.get(posicion_combo).getCodigoProducto().toString());
     guardar_tabla.add(consulta_producto.get(posicion_combo).getNombreProducto().toString());
     guardar_tabla.add(String.valueOf(consulta_producto.get(posicion_combo).getPrecioProducto()));
     guardar_tabla.add(vorden.getCantidad().getValue().toString());
     vorden.getModelo_jtabla().addRow(guardar_tabla);
    }
    void eliminar()
    {
     vorden.getModelo_jtabla().removeRow(vorden.getTabla_orden().getSelectedRow());
    }

    void finalizar()
    {
     if(!vorden.getTexto_nombre().getText().isEmpty())
     {
         float total1=0;
         float total2=0;
         Vector<m_producto> vector_producto_insertar = new Vector<m_producto>();
         for (int i = 0; i < vorden.getModelo_jtabla().getRowCount(); i++) {
             m_producto producto_insertar = new m_producto();
             producto_insertar.setCodigoProducto(vorden.getModelo_jtabla().getValueAt(i, 0).toString());
             vector_producto_insertar.add(producto_insertar);
             consulta_cantidad.add(Integer.valueOf(vorden.getTabla_orden().getValueAt(i,3).toString()));
             total1= Float.parseFloat(vorden.getTabla_orden().getValueAt(i, 2).toString())*Float.parseFloat(vorden.getTabla_orden().getValueAt(i, 3).toString());
             total2=total2+total1;
         }
        JOptionPane.showMessageDialog(vorden, "se ha ingresado la orden con exito");
        morden.registrar(vorden.getTexto_nombre().getText().toString(),total2,vector_producto_insertar,consulta_cantidad);
        }
     else
     {
       JOptionPane.showMessageDialog(vorden, "hay campos en blanco, verifique");

     }

    }


    public void cargarCombos()
    {
     consulta_producto   = mproducto.consultarBD();
        for (int i = 0; i < consulta_producto.size(); i++) {
            vorden.getLista_producto().addItem(consulta_producto.get(i).getNombreProducto());
        }

    }

}
